草庐IT

SQL 选择语句

全部标签

ruby-on-rails - Rails 中的分组选择

真的很简单的问题-我如何使用带有分组选项的select(ActionView::Helpers::FormOptionsHelper)?我已经让它与select_tag(ActionView::Helpers::FormTagHelper)一起工作,但我真的很想让它使用select标签来匹配表单的其余部分。这可能吗?我的选项是这样的:[['Group1',["Item1","Item2","Item3"]],['Group2',["Item1","Item2","Item3","Item4"]]]目前我的观点是:%tr#expense%td=f.text_field:value=f.h

ruby-on-rails - Ruby:IF 语句中的 Nils

这个问题在这里已经有了答案:HowtoavoidNoMethodErrorformissingelementsinnestedhashes,withoutrepeatednilchecks?(16个答案)关闭7年前。我正在处理的Rails应用程序中有以下非常难看的ruby​​代码:ifparams.present?ifparams[:search].present?ifparams[:search][:tags_name_in].present?...endendend我想问的是params[:search][:tags_name_in]是否已经定义,但是因为params、params

ruby-on-rails - SQL 注入(inject)和 ActiveRecord

这对SQL注入(inject)安全吗:Guest.where(:event_id=>params[:id])我在发送params[:id]时没有进行任何类型的清理。一般来说,所有这些activerecord方法都安全吗?(如where、joins等。)如果不是,安全的最佳做法是什么?另外,是否有任何我应该注意的警告/边缘情况?谢谢 最佳答案 ActiveRecord的所有查询构建方法,如where、group、order等等,都可以安全地防止SQL注入(inject)ASLONGAS您不向它们传递原始SQL字符串。这容易受到SQL注

sql - 在 AREL 中分组 ands 和 ors

我正在尝试使用arel查询此sql片段的等效项:WHERE(("participants"."accepted"='f'AND"participants"."contact_id"=1)OR"participants"."id"ISNULL)所以我想要(accepted&&contact_id=1)ORNULL这是我在AREL中得到的participants[:accepted].eq(false).and(participants[:contact_id].eq(1).or(participants[:id].is(nil)问题是,这会产生:("participants"."acce

ruby-on-rails - Has_Many :Through or :finder_sql

我已经确定了我想要的东西,但我似乎无法以Rails设计师正在寻找的方式获得它。基本上,我有(请搁置多元化/等问题):人类关系(parent、后代)我正在尝试获取单亲的所有后代,以及许多后代的单亲(假设每个后代只有一个parent)。我可以在模型中通过以下方式做到这一点:has_one:parent,:through=>:relationships,:foreign_key=>:human_id,:source=>:source_humanhas_many:offsprings,:finder_sql=>'SELECTDISTINCToffsprings.*'+'FROMhumansof

ruby - 如何选择要在 Ruby 中动态包含的模块版本?

我正在编写一个使用fileutils的小型Rub​​y命令行应用程序来自文件操作的标准库。根据用户调用应用程序的方式,我想包括FileUtils,FileUtils::DryRun或FileUtils::Verbose.自include虽然是私有(private)的,但我无法将选择逻辑放入对象的initialize中方法。(这是我的第一个想法,从那时起我就可以将有关用户选择的信息作为参数传递给new。)我想出了两个似乎可行的选项,但我对其中任何一个都不满意:根据用户的选择在应用程序的命名空间中设置一个全局变量,然后在类中执行条件包含:classWorkercaseApp::OPTION

ruby - 微软 SQL ruby gem

我需要编写一个ruby​​脚本来连接到MSSQLServer数据库,但我发现的所有线程都指向gems以将ActiveRecord绑定(bind)到MSSQL。是否有任何gems可以让我像pg那样做这个(对于postgreshttps://github.com/ged/ruby-pg)?我只需要做一些非常简单的远程查询,非常感谢! 最佳答案 最好的方法是使用tiny_tdsgemhttps://github.com/rails-sqlserver/tiny_tds 关于ruby-微软SQL

sql - 具有相同名称列的连接表上的 Rails ".pluck"返回一个值,然后返回 nil

Experimenthas_many:featuresFeaturebelongs_to:experimentExperiment.where("experiments.id=1").joins(:features).pluck("features.id","experiments.id")我希望这会返回每个功能的ID和实验的ID。[[1,1],[2,1],[3,1],#....]相反,这会返回实验的id,然后返回nil[[1,nil],[1,nil],[1,nil],#....]这在三个方面很奇怪:即使它是一个内部联接并且只返回一个实验,我也能够从功能(features.name)中

ruby-on-rails - 使用 Rspec 选择单选按钮

我目前正在使用RSpec编写一个表单测试,我想知道我将如何选择一个单选按钮,给出下面的表单:我希望我的测试看起来像这样:describe"withvalidoptionsselected"dobeforedo#CODETOSELECTARADIOBUTTONclick_button"SAVE"endend 最佳答案 describe"withvalidinfo"dobeforedochoose('True')click_button"CreateSetlist"end...end我必须为单选按钮分配一个ID才能正常工作额外引用文档:

sql - Rails + PostgreSQL SSL 解密失败

我的生产服务器上运行了一个应用程序,它使用pggem与Postgres数据库通信。Postgres在默认端口上运行,并且位于防火墙后面-因此只能从localhost访问它。我还没有配置Postgres来做任何与SSL相关的事情。我正在通过SSL访问Rails应用程序,并且证书是为另一个域签名的,所以当您第一次点击它时,会出现证书错误……但这是唯一与SSL相关的奇怪之处。然而,我在我的Rails日志中间歇性地看到这个(当它发生时浏览器会出现500错误):StartedGET"/admin/pages"forat2012-02-0201:52:03-0500ProcessingbyPage